A workflow is a largely automated set of relationships between tasks related to the completion of a business process object from start to finish. A business process object or job is a single instance of a business process (e.g., a customer's order for a product or service). Tasks may be triggered by automated messages or, alternately, by manual interaction. Workflow management, which relates to the coordination of business tasks, or processes, is an emerging technology closely associated with corporate streamlining activities. Fundamentally, it is an information technology model for reducing business costs, improving efficiency, and facilitating an adaptive business organization.
In a workflow, business processes (e.g., order processing, product delivery scheduling) are generally defined in such a way that they can be directly interpreted and executed by a workflow manager, which can take the form of one or more central servers. A major inhibitor to the development of workflow is understanding the mechanisms, interactions, and inter-relationships of these tasks, as even small businesses may develop hundreds of such tasks as a workflow matures.
Many customer-oriented businesses rely on largely automated procedures for receiving, tracking, and completing a customer order. With large businesses processing hundreds of thousands of orders per month, it is vital to ensure that orders are processed efficiently in order to preserve customer satisfaction. Tracking and reporting data ensures that orders are not accumulating at any one step without any forward progress through the workflow. Identifying congested workflow states, or bottlenecks, that block the forward progress of other orders is important to recognizing workflow areas that need increased headcount or computing capacity. For example, if it is determined that many orders are being received for new telephone service, but only a small percentage are being queued for implementation, steps can be taken to proactively improve order fulfillment. As it would be time-consuming to monitor the status of each individual order, it is desirable to track and archive data that can be analyzed for trends or bottlenecks.
A key to maintaining customer satisfaction is the ability to query the real-time status of any order and identify its present state within the workflow, so that the status may be reported to the customer on demand. It is also desirable to be able to research all orders for a particular customer, across all processes within the workflow. It is also desirable to record the time it takes for an order to transition from state to state within the workflow. In addition to providing data to analyze for process optimization, historical data could also contribute to more accurate business forecasting by assisting in predicting future peak order periods, for example, so that they may be adequately prepared for. Collecting real-time data as well as historical data may be complicated by the existence of data on multiple systems with differing architectures. Historically, there has been no systematic, efficient way to access the level of order information desired across a multitude of legacy systems. The ability to generate reports on demand, as well as customized reports detailing specific parameters, is also desirable. Many conventional order tracking and reporting data stores generate periodic planned reports, but it is further desired to generate customized, ad hoc reports.